def cd(i):
    """
    Input:  {
              (repo_uoa)  - repo UOA
              module_uoa  - module UOA
              data_uoa    - data UOA
                 or
              cid

            }

    Output: { 
              Output of the 'load' function 

              string - prepared string 'cd {path to entry}'
            }
    """

    o=i.get('out','')

    i['out']=''
    r=find(i)
    i['out']=o

    if r['return']>0: return r

    noe=r.get('number_of_entries','')
    if noe=='': noe=0

    if noe>1 and o=='con':
       out('CK warning: '+str(noe)+' entries found! Selecting the first one ...')
       out('')

    p=r.get('path','')
    if p!='':
       rx=get_os_ck({})
       if rx['return']>0: return rx

       plat=rx['platform']

       s='cd '
       if plat=='win':
          s+='/D '

       if p.find(' ')>0:
          p='"'+p+'"'
       s+=p

       out(s)

       r['string']=s

       import platform
       import subprocess

       out('')
       out('Warning: you are in a new shell with a reused environment. Enter "exit" to return to the original one!')

       if platform.system().lower().startswith('win'): # pragma: no cover
          p = subprocess.Popen(["cmd", "/k", s], shell = True, env=os.environ)
          p.wait()

       else:
          rx=gen_tmp_file({})
          if rx['return']>0: return rx
          fn=rx['file_name']

          rx=save_text_file({'text_file':fn, 'string':s})
          if rx['return']>0: return rx

          os.system("bash --rcfile "+fn)

    return r
Input:  {
              (repo_uoa)  - repo UOA
              module_uoa  - module UOA
              data_uoa    - data UOA
                 or
              cid

            }

    Output: { 
              Output of the 'load' function 

              string - prepared string 'cd {path to entry}'
            }