// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.

package database

import (
	json 
	easyjson 
	jlexer 
	jwriter 
)

// suppress unused package warning
var (
	_ *json.RawMessage
	_ *jlexer.Lexer
	_ *jwriter.Writer
	_ easyjson.Marshaler
)

func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase( *jlexer.Lexer,  *GetDatabaseTableNamesReturns) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "tableNames":
			if .IsNull() {
				.Skip()
				.TableNames = nil
			} else {
				.Delim('[')
				if .TableNames == nil {
					if !.IsDelim(']') {
						.TableNames = make([]string, 0, 4)
					} else {
						.TableNames = []string{}
					}
				} else {
					.TableNames = (.TableNames)[:0]
				}
				for !.IsDelim(']') {
					var  string
					 = string(.String())
					.TableNames = append(.TableNames, )
					.WantComma()
				}
				.Delim(']')
			}
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase( *jwriter.Writer,  GetDatabaseTableNamesReturns) {
	.RawByte('{')
	 := true
	_ = 
	if len(.TableNames) != 0 {
		const  string = ",\"tableNames\":"
		 = false
		.RawString([1:])
		{
			.RawByte('[')
			for ,  := range .TableNames {
				if  > 0 {
					.RawByte(',')
				}
				.String(string())
			}
			.RawByte(']')
		}
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( GetDatabaseTableNamesReturns) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( GetDatabaseTableNamesReturns) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *GetDatabaseTableNamesReturns) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *GetDatabaseTableNamesReturns) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase1( *jlexer.Lexer,  *GetDatabaseTableNamesParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "databaseId":
			.DatabaseID = ID(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase1( *jwriter.Writer,  GetDatabaseTableNamesParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"databaseId\":"
		.RawString([1:])
		.String(string(.DatabaseID))
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( GetDatabaseTableNamesParams) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase1(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( GetDatabaseTableNamesParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase1(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *GetDatabaseTableNamesParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase1(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *GetDatabaseTableNamesParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase1(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase2( *jlexer.Lexer,  *ExecuteSQLReturns) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "columnNames":
			if .IsNull() {
				.Skip()
				.ColumnNames = nil
			} else {
				.Delim('[')
				if .ColumnNames == nil {
					if !.IsDelim(']') {
						.ColumnNames = make([]string, 0, 4)
					} else {
						.ColumnNames = []string{}
					}
				} else {
					.ColumnNames = (.ColumnNames)[:0]
				}
				for !.IsDelim(']') {
					var  string
					 = string(.String())
					.ColumnNames = append(.ColumnNames, )
					.WantComma()
				}
				.Delim(']')
			}
		case "values":
			if .IsNull() {
				.Skip()
				.Values = nil
			} else {
				.Delim('[')
				if .Values == nil {
					if !.IsDelim(']') {
						.Values = make([]easyjson.RawMessage, 0, 2)
					} else {
						.Values = []easyjson.RawMessage{}
					}
				} else {
					.Values = (.Values)[:0]
				}
				for !.IsDelim(']') {
					var  easyjson.RawMessage
					().UnmarshalEasyJSON()
					.Values = append(.Values, )
					.WantComma()
				}
				.Delim(']')
			}
		case "sqlError":
			if .IsNull() {
				.Skip()
				.SQLError = nil
			} else {
				if .SQLError == nil {
					.SQLError = new(Error)
				}
				(*.SQLError).UnmarshalEasyJSON()
			}
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase2( *jwriter.Writer,  ExecuteSQLReturns) {
	.RawByte('{')
	 := true
	_ = 
	if len(.ColumnNames) != 0 {
		const  string = ",\"columnNames\":"
		 = false
		.RawString([1:])
		{
			.RawByte('[')
			for ,  := range .ColumnNames {
				if  > 0 {
					.RawByte(',')
				}
				.String(string())
			}
			.RawByte(']')
		}
	}
	if len(.Values) != 0 {
		const  string = ",\"values\":"
		if  {
			 = false
			.RawString([1:])
		} else {
			.RawString()
		}
		{
			.RawByte('[')
			for ,  := range .Values {
				if  > 0 {
					.RawByte(',')
				}
				().MarshalEasyJSON()
			}
			.RawByte(']')
		}
	}
	if .SQLError != nil {
		const  string = ",\"sqlError\":"
		if  {
			 = false
			.RawString([1:])
		} else {
			.RawString()
		}
		(*.SQLError).MarshalEasyJSON()
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( ExecuteSQLReturns) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase2(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( ExecuteSQLReturns) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase2(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *ExecuteSQLReturns) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase2(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *ExecuteSQLReturns) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase2(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase3( *jlexer.Lexer,  *ExecuteSQLParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "databaseId":
			.DatabaseID = ID(.String())
		case "query":
			.Query = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase3( *jwriter.Writer,  ExecuteSQLParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"databaseId\":"
		.RawString([1:])
		.String(string(.DatabaseID))
	}
	{
		const  string = ",\"query\":"
		.RawString()
		.String(string(.Query))
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( ExecuteSQLParams) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase3(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( ExecuteSQLParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase3(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *ExecuteSQLParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase3(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *ExecuteSQLParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase3(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase4( *jlexer.Lexer,  *EventAddDatabase) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "database":
			if .IsNull() {
				.Skip()
				.Database = nil
			} else {
				if .Database == nil {
					.Database = new(Database)
				}
				(*.Database).UnmarshalEasyJSON()
			}
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase4( *jwriter.Writer,  EventAddDatabase) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"database\":"
		.RawString([1:])
		if .Database == nil {
			.RawString("null")
		} else {
			(*.Database).MarshalEasyJSON()
		}
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( EventAddDatabase) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase4(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( EventAddDatabase) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase4(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *EventAddDatabase) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase4(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *EventAddDatabase) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase4(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase5( *jlexer.Lexer,  *Error) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "message":
			.Message = string(.String())
		case "code":
			.Code = int64(.Int64())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase5( *jwriter.Writer,  Error) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"message\":"
		.RawString([1:])
		.String(string(.Message))
	}
	{
		const  string = ",\"code\":"
		.RawString()
		.Int64(int64(.Code))
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( Error) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase5(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( Error) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase5(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *Error) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase5(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *Error) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase5(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase6( *jlexer.Lexer,  *EnableParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase6( *jwriter.Writer,  EnableParams) {
	.RawByte('{')
	 := true
	_ = 
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( EnableParams) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase6(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( EnableParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase6(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *EnableParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase6(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *EnableParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase6(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase7( *jlexer.Lexer,  *DisableParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase7( *jwriter.Writer,  DisableParams) {
	.RawByte('{')
	 := true
	_ = 
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( DisableParams) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase7(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( DisableParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase7(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *DisableParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase7(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *DisableParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase7(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase8( *jlexer.Lexer,  *Database) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "id":
			.ID = ID(.String())
		case "domain":
			.Domain = string(.String())
		case "name":
			.Name = string(.String())
		case "version":
			.Version = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase8( *jwriter.Writer,  Database) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"id\":"
		.RawString([1:])
		.String(string(.ID))
	}
	{
		const  string = ",\"domain\":"
		.RawString()
		.String(string(.Domain))
	}
	{
		const  string = ",\"name\":"
		.RawString()
		.String(string(.Name))
	}
	{
		const  string = ",\"version\":"
		.RawString()
		.String(string(.Version))
	}
	.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func ( Database) () ([]byte, error) {
	 := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase8(&, )
	return .Buffer.BuildBytes(), .Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( Database) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoDatabase8(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *Database) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase8(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *Database) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoDatabase8(, )
}