package util

import (
	

	
	
)

type funcVI[ i32] func(context.Context, api.Module, )

func ( funcVI[]) ( context.Context,  api.Module,  []uint64) {
	(, , ([0]))
}

func [ i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, )) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcVI[](),
			[]api.ValueType{api.ValueTypeI32}, nil).
		Export()
}

type funcVIII[, ,  i32] func(context.Context, api.Module, , , )

func ( funcVIII[, , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [2] // prevent bounds check on every slice access
	(, , ([0]), ([1]), ([2]))
}

func [, ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , )) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcVIII[, , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, nil).
		Export()
}

type funcVIIII[, , ,  i32] func(context.Context, api.Module, , , , )

func ( funcVIIII[, , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [3] // prevent bounds check on every slice access
	(, , ([0]), ([1]), ([2]), ([3]))
}

func [, , ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , )) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcVIIII[, , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, nil).
		Export()
}

type funcVIIIII[, , , ,  i32] func(context.Context, api.Module, , , , , )

func ( funcVIIIII[, , , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [4] // prevent bounds check on every slice access
	(, , ([0]), ([1]), ([2]), ([3]), ([4]))
}

func [, , , ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , , )) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcVIIIII[, , , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, nil).
		Export()
}

type funcVIIIIJ[, , ,  i32,  i64] func(context.Context, api.Module, , , , , )

func ( funcVIIIIJ[, , , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [4] // prevent bounds check on every slice access
	(, , ([0]), ([1]), ([2]), ([3]), ([4]))
}

func [, , ,  i32,  i64]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , , )) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcVIIIIJ[, , , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI64}, nil).
		Export()
}

type funcII[,  i32] func(context.Context, api.Module, ) 

func ( funcII[, ]) ( context.Context,  api.Module,  []uint64) {
	[0] = uint64((, , ([0])))
}

func [,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcII[, ](),
			[]api.ValueType{api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIII[, ,  i32] func(context.Context, api.Module, , ) 

func ( funcIII[, , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [1] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1])))
}

func [, ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIII[, , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIIII[, , ,  i32] func(context.Context, api.Module, , , ) 

func ( funcIIII[, , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [2] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1]), ([2])))
}

func [, , ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIIII[, , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIIIII[, , , ,  i32] func(context.Context, api.Module, , , , ) 

func ( funcIIIII[, , , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [3] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1]), ([2]), ([3])))
}

func [, , , ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIIIII[, , , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIIIIII[, , , , ,  i32] func(context.Context, api.Module, , , , , ) 

func ( funcIIIIII[, , , , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [4] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1]), ([2]), ([3]), ([4])))
}

func [, , , , ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIIIIII[, , , , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIIIIIII[, , , , , ,  i32] func(context.Context, api.Module, , , , , , ) 

func ( funcIIIIIII[, , , , , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [5] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1]), ([2]), ([3]), ([4]), ([5])))
}

func [, , , , , ,  i32]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , , , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIIIIIII[, , , , , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIIIIJ[, , ,  i32,  i64] func(context.Context, api.Module, , , , ) 

func ( funcIIIIJ[, , , , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [3] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1]), ([2]), ([3])))
}

func [, , ,  i32,  i64]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , , , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIIIIJ[, , , , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI32, api.ValueTypeI64}, []api.ValueType{api.ValueTypeI32}).
		Export()
}

type funcIIJ[,  i32,  i64] func(context.Context, api.Module, , ) 

func ( funcIIJ[, , ]) ( context.Context,  api.Module,  []uint64) {
	_ = [1] // prevent bounds check on every slice access
	[0] = uint64((, , ([0]), ([1])))
}

func [,  i32,  i64]( wazero.HostModuleBuilder,  string,  func(context.Context, api.Module, , ) ) {
	.NewFunctionBuilder().
		WithGoModuleFunction(funcIIJ[, , ](),
			[]api.ValueType{api.ValueTypeI32, api.ValueTypeI64}, []api.ValueType{api.ValueTypeI32}).
		Export()
}