// Code generated by mockery v2.52.1. DO NOT EDIT.

package mocks

import (
	context "context"

	storage "github.com/dexidp/dex/storage"
	mock "github.com/stretchr/testify/mock"

	time "time"
)

// MockStorage is an autogenerated mock type for the Storage type
type MockStorage struct {
	mock.Mock
}

// Close provides a mock function with no fields
func (_m *MockStorage) Close() error {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Close")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func() error); ok {
		r0 = rf()
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateAuthCode provides a mock function with given fields: ctx, c
func (_m *MockStorage) CreateAuthCode(ctx context.Context, c storage.AuthCode) error {
	ret := _m.Called(ctx, c)

	if len(ret) == 0 {
		panic("no return value specified for CreateAuthCode")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.AuthCode) error); ok {
		r0 = rf(ctx, c)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateAuthRequest provides a mock function with given fields: ctx, a
func (_m *MockStorage) CreateAuthRequest(ctx context.Context, a storage.AuthRequest) error {
	ret := _m.Called(ctx, a)

	if len(ret) == 0 {
		panic("no return value specified for CreateAuthRequest")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.AuthRequest) error); ok {
		r0 = rf(ctx, a)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateClient provides a mock function with given fields: ctx, c
func (_m *MockStorage) CreateClient(ctx context.Context, c storage.Client) error {
	ret := _m.Called(ctx, c)

	if len(ret) == 0 {
		panic("no return value specified for CreateClient")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.Client) error); ok {
		r0 = rf(ctx, c)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateConnector provides a mock function with given fields: ctx, c
func (_m *MockStorage) CreateConnector(ctx context.Context, c storage.Connector) error {
	ret := _m.Called(ctx, c)

	if len(ret) == 0 {
		panic("no return value specified for CreateConnector")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.Connector) error); ok {
		r0 = rf(ctx, c)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateDeviceRequest provides a mock function with given fields: ctx, d
func (_m *MockStorage) CreateDeviceRequest(ctx context.Context, d storage.DeviceRequest) error {
	ret := _m.Called(ctx, d)

	if len(ret) == 0 {
		panic("no return value specified for CreateDeviceRequest")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.DeviceRequest) error); ok {
		r0 = rf(ctx, d)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateDeviceToken provides a mock function with given fields: ctx, d
func (_m *MockStorage) CreateDeviceToken(ctx context.Context, d storage.DeviceToken) error {
	ret := _m.Called(ctx, d)

	if len(ret) == 0 {
		panic("no return value specified for CreateDeviceToken")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.DeviceToken) error); ok {
		r0 = rf(ctx, d)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateOfflineSessions provides a mock function with given fields: ctx, s
func (_m *MockStorage) CreateOfflineSessions(ctx context.Context, s storage.OfflineSessions) error {
	ret := _m.Called(ctx, s)

	if len(ret) == 0 {
		panic("no return value specified for CreateOfflineSessions")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.OfflineSessions) error); ok {
		r0 = rf(ctx, s)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreatePassword provides a mock function with given fields: ctx, p
func (_m *MockStorage) CreatePassword(ctx context.Context, p storage.Password) error {
	ret := _m.Called(ctx, p)

	if len(ret) == 0 {
		panic("no return value specified for CreatePassword")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.Password) error); ok {
		r0 = rf(ctx, p)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateRefresh provides a mock function with given fields: ctx, r
func (_m *MockStorage) CreateRefresh(ctx context.Context, r storage.RefreshToken) error {
	ret := _m.Called(ctx, r)

	if len(ret) == 0 {
		panic("no return value specified for CreateRefresh")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, storage.RefreshToken) error); ok {
		r0 = rf(ctx, r)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeleteAuthCode provides a mock function with given fields: code
func (_m *MockStorage) DeleteAuthCode(code string) error {
	ret := _m.Called(code)

	if len(ret) == 0 {
		panic("no return value specified for DeleteAuthCode")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(code)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeleteAuthRequest provides a mock function with given fields: id
func (_m *MockStorage) DeleteAuthRequest(id string) error {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for DeleteAuthRequest")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeleteClient provides a mock function with given fields: id
func (_m *MockStorage) DeleteClient(id string) error {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for DeleteClient")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeleteConnector provides a mock function with given fields: id
func (_m *MockStorage) DeleteConnector(id string) error {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for DeleteConnector")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeleteOfflineSessions provides a mock function with given fields: userID, connID
func (_m *MockStorage) DeleteOfflineSessions(userID string, connID string) error {
	ret := _m.Called(userID, connID)

	if len(ret) == 0 {
		panic("no return value specified for DeleteOfflineSessions")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, string) error); ok {
		r0 = rf(userID, connID)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeletePassword provides a mock function with given fields: email
func (_m *MockStorage) DeletePassword(email string) error {
	ret := _m.Called(email)

	if len(ret) == 0 {
		panic("no return value specified for DeletePassword")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(email)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// DeleteRefresh provides a mock function with given fields: id
func (_m *MockStorage) DeleteRefresh(id string) error {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for DeleteRefresh")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// GarbageCollect provides a mock function with given fields: now
func (_m *MockStorage) GarbageCollect(now time.Time) (storage.GCResult, error) {
	ret := _m.Called(now)

	if len(ret) == 0 {
		panic("no return value specified for GarbageCollect")
	}

	var r0 storage.GCResult
	var r1 error
	if rf, ok := ret.Get(0).(func(time.Time) (storage.GCResult, error)); ok {
		return rf(now)
	}
	if rf, ok := ret.Get(0).(func(time.Time) storage.GCResult); ok {
		r0 = rf(now)
	} else {
		r0 = ret.Get(0).(storage.GCResult)
	}

	if rf, ok := ret.Get(1).(func(time.Time) error); ok {
		r1 = rf(now)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetAuthCode provides a mock function with given fields: id
func (_m *MockStorage) GetAuthCode(id string) (storage.AuthCode, error) {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for GetAuthCode")
	}

	var r0 storage.AuthCode
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.AuthCode, error)); ok {
		return rf(id)
	}
	if rf, ok := ret.Get(0).(func(string) storage.AuthCode); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Get(0).(storage.AuthCode)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(id)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetAuthRequest provides a mock function with given fields: id
func (_m *MockStorage) GetAuthRequest(id string) (storage.AuthRequest, error) {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for GetAuthRequest")
	}

	var r0 storage.AuthRequest
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.AuthRequest, error)); ok {
		return rf(id)
	}
	if rf, ok := ret.Get(0).(func(string) storage.AuthRequest); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Get(0).(storage.AuthRequest)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(id)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetClient provides a mock function with given fields: id
func (_m *MockStorage) GetClient(id string) (storage.Client, error) {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for GetClient")
	}

	var r0 storage.Client
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.Client, error)); ok {
		return rf(id)
	}
	if rf, ok := ret.Get(0).(func(string) storage.Client); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Get(0).(storage.Client)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(id)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetConnector provides a mock function with given fields: id
func (_m *MockStorage) GetConnector(id string) (storage.Connector, error) {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for GetConnector")
	}

	var r0 storage.Connector
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.Connector, error)); ok {
		return rf(id)
	}
	if rf, ok := ret.Get(0).(func(string) storage.Connector); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Get(0).(storage.Connector)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(id)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetDeviceRequest provides a mock function with given fields: userCode
func (_m *MockStorage) GetDeviceRequest(userCode string) (storage.DeviceRequest, error) {
	ret := _m.Called(userCode)

	if len(ret) == 0 {
		panic("no return value specified for GetDeviceRequest")
	}

	var r0 storage.DeviceRequest
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.DeviceRequest, error)); ok {
		return rf(userCode)
	}
	if rf, ok := ret.Get(0).(func(string) storage.DeviceRequest); ok {
		r0 = rf(userCode)
	} else {
		r0 = ret.Get(0).(storage.DeviceRequest)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(userCode)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetDeviceToken provides a mock function with given fields: deviceCode
func (_m *MockStorage) GetDeviceToken(deviceCode string) (storage.DeviceToken, error) {
	ret := _m.Called(deviceCode)

	if len(ret) == 0 {
		panic("no return value specified for GetDeviceToken")
	}

	var r0 storage.DeviceToken
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.DeviceToken, error)); ok {
		return rf(deviceCode)
	}
	if rf, ok := ret.Get(0).(func(string) storage.DeviceToken); ok {
		r0 = rf(deviceCode)
	} else {
		r0 = ret.Get(0).(storage.DeviceToken)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(deviceCode)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetKeys provides a mock function with no fields
func (_m *MockStorage) GetKeys() (storage.Keys, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for GetKeys")
	}

	var r0 storage.Keys
	var r1 error
	if rf, ok := ret.Get(0).(func() (storage.Keys, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() storage.Keys); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(storage.Keys)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetOfflineSessions provides a mock function with given fields: userID, connID
func (_m *MockStorage) GetOfflineSessions(userID string, connID string) (storage.OfflineSessions, error) {
	ret := _m.Called(userID, connID)

	if len(ret) == 0 {
		panic("no return value specified for GetOfflineSessions")
	}

	var r0 storage.OfflineSessions
	var r1 error
	if rf, ok := ret.Get(0).(func(string, string) (storage.OfflineSessions, error)); ok {
		return rf(userID, connID)
	}
	if rf, ok := ret.Get(0).(func(string, string) storage.OfflineSessions); ok {
		r0 = rf(userID, connID)
	} else {
		r0 = ret.Get(0).(storage.OfflineSessions)
	}

	if rf, ok := ret.Get(1).(func(string, string) error); ok {
		r1 = rf(userID, connID)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetPassword provides a mock function with given fields: email
func (_m *MockStorage) GetPassword(email string) (storage.Password, error) {
	ret := _m.Called(email)

	if len(ret) == 0 {
		panic("no return value specified for GetPassword")
	}

	var r0 storage.Password
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.Password, error)); ok {
		return rf(email)
	}
	if rf, ok := ret.Get(0).(func(string) storage.Password); ok {
		r0 = rf(email)
	} else {
		r0 = ret.Get(0).(storage.Password)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(email)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetRefresh provides a mock function with given fields: id
func (_m *MockStorage) GetRefresh(id string) (storage.RefreshToken, error) {
	ret := _m.Called(id)

	if len(ret) == 0 {
		panic("no return value specified for GetRefresh")
	}

	var r0 storage.RefreshToken
	var r1 error
	if rf, ok := ret.Get(0).(func(string) (storage.RefreshToken, error)); ok {
		return rf(id)
	}
	if rf, ok := ret.Get(0).(func(string) storage.RefreshToken); ok {
		r0 = rf(id)
	} else {
		r0 = ret.Get(0).(storage.RefreshToken)
	}

	if rf, ok := ret.Get(1).(func(string) error); ok {
		r1 = rf(id)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListClients provides a mock function with no fields
func (_m *MockStorage) ListClients() ([]storage.Client, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for ListClients")
	}

	var r0 []storage.Client
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]storage.Client, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []storage.Client); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]storage.Client)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListConnectors provides a mock function with no fields
func (_m *MockStorage) ListConnectors() ([]storage.Connector, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for ListConnectors")
	}

	var r0 []storage.Connector
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]storage.Connector, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []storage.Connector); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]storage.Connector)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListPasswords provides a mock function with no fields
func (_m *MockStorage) ListPasswords() ([]storage.Password, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for ListPasswords")
	}

	var r0 []storage.Password
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]storage.Password, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []storage.Password); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]storage.Password)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListRefreshTokens provides a mock function with no fields
func (_m *MockStorage) ListRefreshTokens() ([]storage.RefreshToken, error) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for ListRefreshTokens")
	}

	var r0 []storage.RefreshToken
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]storage.RefreshToken, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []storage.RefreshToken); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]storage.RefreshToken)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// UpdateAuthRequest provides a mock function with given fields: id, updater
func (_m *MockStorage) UpdateAuthRequest(id string, updater func(storage.AuthRequest) (storage.AuthRequest, error)) error {
	ret := _m.Called(id, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateAuthRequest")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, func(storage.AuthRequest) (storage.AuthRequest, error)) error); ok {
		r0 = rf(id, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdateClient provides a mock function with given fields: id, updater
func (_m *MockStorage) UpdateClient(id string, updater func(storage.Client) (storage.Client, error)) error {
	ret := _m.Called(id, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateClient")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, func(storage.Client) (storage.Client, error)) error); ok {
		r0 = rf(id, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdateConnector provides a mock function with given fields: id, updater
func (_m *MockStorage) UpdateConnector(id string, updater func(storage.Connector) (storage.Connector, error)) error {
	ret := _m.Called(id, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateConnector")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, func(storage.Connector) (storage.Connector, error)) error); ok {
		r0 = rf(id, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdateDeviceToken provides a mock function with given fields: deviceCode, updater
func (_m *MockStorage) UpdateDeviceToken(deviceCode string, updater func(storage.DeviceToken) (storage.DeviceToken, error)) error {
	ret := _m.Called(deviceCode, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateDeviceToken")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, func(storage.DeviceToken) (storage.DeviceToken, error)) error); ok {
		r0 = rf(deviceCode, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdateKeys provides a mock function with given fields: updater
func (_m *MockStorage) UpdateKeys(updater func(storage.Keys) (storage.Keys, error)) error {
	ret := _m.Called(updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateKeys")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(func(storage.Keys) (storage.Keys, error)) error); ok {
		r0 = rf(updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdateOfflineSessions provides a mock function with given fields: userID, connID, updater
func (_m *MockStorage) UpdateOfflineSessions(userID string, connID string, updater func(storage.OfflineSessions) (storage.OfflineSessions, error)) error {
	ret := _m.Called(userID, connID, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateOfflineSessions")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, string, func(storage.OfflineSessions) (storage.OfflineSessions, error)) error); ok {
		r0 = rf(userID, connID, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdatePassword provides a mock function with given fields: email, updater
func (_m *MockStorage) UpdatePassword(email string, updater func(storage.Password) (storage.Password, error)) error {
	ret := _m.Called(email, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdatePassword")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, func(storage.Password) (storage.Password, error)) error); ok {
		r0 = rf(email, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// UpdateRefreshToken provides a mock function with given fields: id, updater
func (_m *MockStorage) UpdateRefreshToken(id string, updater func(storage.RefreshToken) (storage.RefreshToken, error)) error {
	ret := _m.Called(id, updater)

	if len(ret) == 0 {
		panic("no return value specified for UpdateRefreshToken")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, func(storage.RefreshToken) (storage.RefreshToken, error)) error); ok {
		r0 = rf(id, updater)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// NewMockStorage creates a new instance of MockStorage. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewMockStorage(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockStorage {
	mock := &MockStorage{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
