text: from __future__ import print_function
  import numpy as np
  
  from legacypipe.survey import LegacySurveyData
  
  class DecamSurvey(LegacySurveyData):
      def filter_ccd_kd_files(self, fns):
          return [fn for fn in fns if 'decam' in fn]
      def filter_ccds_files(self, fns):
          return [fn for fn in fns if 'decam' in fn]
      def get_default_release(self):
          return 8000
  
  class NinetyPrimeMosaic(LegacySurveyData):
      def filter_ccd_kd_files(self, fns):
          return [fn for fn in fns if ('90prime' in fn) or ('mosaic' in fn)]
      def filter_ccds_files(self, fns):
          return [fn for fn in fns if ('90prime' in fn) or ('mosaic' in fn)]
      def get_default_release(self):
          return 8001
  
  runs = {
      'decam': DecamSurvey,
      '90prime-mosaic': NinetyPrimeMosaic,
      'south': DecamSurvey,
      'north': NinetyPrimeMosaic,
      None: LegacySurveyData,
  }
  
  def get_survey(name, **kwargs):
      survey_class = runs[name]
      survey = survey_class(**kwargs)
      return survey
  