input: Write a function to load a configuration file and libraries, import necessary modules, define two custom colormaps, load a data file, perform cubic spline interpolation on the data, apply a threshold to remove small values, and generate three plots: a histogram, an interpolated image, and a contour plot. The function should return True if all operations are successful, otherwise False.
  assert generate_plots()==True
  assert generate_plots(config_path="non_existent_path", data_file="non_existent_file")==False
output: def generate_plots(config_path="config.json", data_file="data.csv"):
      try:
          import json
          import numpy as np
          import matplotlib.pyplot as plt
          from scipy.interpolate import griddata
          from matplotlib.colors import LinearSegmentedColormap
  
          with open(config_path, 'r') as f:
              config = json.load(f)
  
          data = np.loadtxt(data_file, delimiter=',')
  
          cmap1 = LinearSegmentedColormap.from_list('custom1', ['blue', 'green', 'yellow', 'red'])
          cmap2 = LinearSegmentedColormap.from_list('custom2', ['purple', 'cyan', 'lime', 'orange'])
  
          x, y, z = data[:, 0], data[:, 1], data[:, 2]
          grid_x, grid_y = np.mgrid[min(x):max(x):100j, min(y):max(y):100j]
          grid_z = griddata((x, y), z, (grid_x, grid_y), method='cubic')
  
          threshold = config.get('threshold', 0.1)
          grid_z[grid_z < threshold] = np.nan
  
          plt.figure(figsize=(15, 5))
  
          plt.subplot(131)
          plt.hist(z, bins=50, color='blue')
          plt.title('Histogram')
  
          plt.subplot(132)
          plt.imshow(grid_z.T, extent=(min(x), max(x), min(y), max(y)), origin='lower', cmap=cmap1)
          plt.colorbar()
          plt.title('Interpolated Image')
  
          plt.subplot(133)
          plt.contourf(grid_x, grid_y, grid_z, levels=20, cmap=cmap2)
          plt.colorbar()
          plt.title('Contour Plot')
  
          plt.tight_layout()
          plt.show()
  
          return True
      except Exception as e:
          return False