func EqualMapInt64UintP(map1, map2 map[int64]uint) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
EqualMapInt64UintP Returns true if both maps are equal else returns false
package fp
func EqualMapIntP(map1, map2 map[int]int) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntPPtr(map1, map2 map[*int]*int) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt64P(map1, map2 map[int]int64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt64PPtr(map1, map2 map[*int]*int64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt32P(map1, map2 map[int]int32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt32PPtr(map1, map2 map[*int]*int32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt16P(map1, map2 map[int]int16) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt16PPtr(map1, map2 map[*int]*int16) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt8P(map1, map2 map[int]int8) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntInt8PPtr(map1, map2 map[*int]*int8) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUintP(map1, map2 map[int]uint) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUintPPtr(map1, map2 map[*int]*uint) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint64P(map1, map2 map[int]uint64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint64PPtr(map1, map2 map[*int]*uint64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint32P(map1, map2 map[int]uint32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint32PPtr(map1, map2 map[*int]*uint32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint16P(map1, map2 map[int]uint16) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint16PPtr(map1, map2 map[*int]*uint16) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint8P(map1, map2 map[int]uint8) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntUint8PPtr(map1, map2 map[*int]*uint8) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntStrP(map1, map2 map[int]string) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntStrPPtr(map1, map2 map[*int]*string) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntBoolP(map1, map2 map[int]bool) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntBoolPPtr(map1, map2 map[*int]*bool) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntFloat32P(map1, map2 map[int]float32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntFloat32PPtr(map1, map2 map[*int]*float32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntFloat64P(map1, map2 map[int]float64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapIntFloat64PPtr(map1, map2 map[*int]*float64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64IntP(map1, map2 map[int64]int) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64IntPPtr(map1, map2 map[*int64]*int) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64P(map1, map2 map[int64]int64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64PPtr(map1, map2 map[*int64]*int64) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64Int32P(map1, map2 map[int64]int32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64Int32PPtr(map1, map2 map[*int64]*int32) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64Int16P(map1, map2 map[int64]int16) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64Int16PPtr(map1, map2 map[*int64]*int16) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64Int8P(map1, map2 map[int64]int8) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if k1 == k2 && v1 == v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}
func EqualMapInt64Int8PPtr(map1, map2 map[*int64]*int8) bool {
	len1 := len(map1)
	len2 := len(map2)
	if len1 == 0 || len2 == 0 || len1 != len2 {
		return false
	}
	for k1, v1 := range map1 {
		found := false
		for k2, v2 := range map2 {
			if *k1 == *k2 && *v1 == *v2 {
				found = true
				break
			}
		}
		if !found {
			return false
		}
	}
	return true
}