text: import shutil
  from .config import MachineType, brew_archive_sessions_path, ferm_archive_sessions_path, iSpindel_archive_sessions_path
  
  
  ZYMATIC_LOCATION = {
      'PassThru': '0',
      'Mash': '1',
      'Adjunct1': '2',
      'Adjunct2': '3',
      'Adjunct3': '4',
      'Adjunct4': '5',
      'Pause': '6',
  }
  
  ZSERIES_LOCATION = {
      'PassThru': '0',
      'Mash': '1',
      'Adjunct1': '2',
      'Adjunct2': '3',
      'Adjunct3': '4',
      'Adjunct4': '5',
      'Pause': '6',
  }
  
  PICO_LOCATION = {
      'Prime': '0',
      'Mash': '1',
      'PassThru': '2',
      'Adjunct1': '3',
      'Adjunct2': '4',
      'Adjunct3': '6',
      'Adjunct4': '5',
  }
  
  PICO_SESSION = {
      0: 'Brewing',
      1: 'Deep Clean',
      2: 'Sous Vide',
      4: 'Cold Brew',
      5: 'Manual Brew',
  }
  
  
  class PicoBrewSession:
      def __init__(self, machineType=None):
          self.file = None
          self.filepath = None
          self.alias = ''
          self.machine_type = machineType
          self.created_at = None
          self.name = 'Waiting To Brew'
          self.type = 0
          self.step = ''
          self.session = ''   # session guid
          self.id = -1        # session id (integer)
          self.recovery = ''
          self.remaining_time = None
          self.is_pico = True
          self.data = []
  
      def cleanup(self):
          if self.file and self.filepath:
              self.file.close()
              shutil.move(str(self.filepath), str(brew_archive_sessions_path()))
          self.file = None
          self.filepath = None
          self.created_at = None
          self.name = 'Waiting To Brew'
          self.type = 0
          self.step = ''
          self.session = ''
          self.id = -1
          self.recovery = ''
          self.remaining_time = None
          self.data = []
  
  
  class PicoFermSession:
      def __init__(self):
          self.file = None
          self.filepath = None
          self.alias = ''
          self.uninit = True
          self.voltage = '-'
          self.start_time = None
          self.data = []
  
      def cleanup(self):
          if self.file and self.filepath:
              self.file.close()
              shutil.move(str(self.filepath), str(ferm_archive_sessions_path()))
          self.file = None
          self.filepath = None
          self.uninit = True
          self.voltage = '-'
          self.start_time = None
          self.data = []
  
  
  class iSpindelSession():
      def __init__(self):
          self.file = None
          self.filepath = None
          self.alias = ''
          self.uninit = True
          self.voltage = '-'
          self.start_time = None
          self.data = []
  
      def cleanup(self):
          if self.file and self.filepath:
              self.file.close()
              shutil.move(str(self.filepath), str(
                  iSpindel_archive_sessions_path()))
          self.file = None
          self.filepath = None
          self.uninit = True
          self.voltage = '-'
          self.start_time = None
          self.data = []
  