$mirrors = {
  'Africa' => {
    'South Africa' => {
      'http://ftp.leg.uct.ac.za/pub/packages/ctan/' => 1
    }
  },
  'Asia' => {
    'China' => {
      'http://ftp.ctex.org/mirrors/CTAN/' => 1,
      'http://mirror.bjtu.edu.cn/CTAN/' => 1,
      'http://mirror.neu.edu.cn/CTAN/' => 1,
      'http://mirror.osqdu.org/CTAN/' => 1,
      'http://mirrors.ustc.edu.cn/CTAN/' => 1,
      'http://mirrors.xmu.edu.cn/CTAN/' => 1
    },
    'India' => {
      'http://ekalavya.imsc.res.in/tex-archive/' => 1
    },
    'Indonesia' => {
      'http://ctan.cermin.lipi.go.id/' => 1,
      'http://ftp.itb.ac.id/pub/CTAN/' => 1,
      'http://kambing.ui.ac.id/ctan/' => 1,
      'http://kebo.vlsm.org/CTAN/' => 1
    },
    'Iran' => {
      'http://ctan.um.ac.ir/' => 1
    },
    'Japan' => {
      'http://ftp.jaist.ac.jp/pub/CTAN/' => 1
    },
    'Korea' => {
      'http://ftp.kaist.ac.kr/pub/tex-archive/' => 1
    },
    'Malaysia' => {
      'ftp://mirror.upm.edu.my/ctan/' => 1
    },
    'Pakistan' => {
      'http://mirror-cybernet.lums.edu.pk/pub/ctan/' => 1,
      'http://stingray.cyber.net.pk/pub/ctan/' => 1
    },
    'Singapore' => {
      'http://raffles.nus.edu.sg/mirror/tex-archive/' => 1
    },
    'Taiwan' => {
      'http://ctan.cdpa.nsysu.edu.tw/' => 1,
      'http://shadow.ind.ntou.edu.tw/ctan/' => 1
    }
  },
  'Australasia' => {
    'Australia' => {
      'http://ctan.unsw.edu.au/' => 1
    },
    'New Zealand' => {
      'http://elena.aut.ac.nz/ctan/' => 1
    }
  },
  'Europe' => {
    'Czech Republic' => {
      'http://ftp.cvut.cz/tex-archive/' => 1
    },
    'Denmark' => {
      'http://mirrors.dotsrc.org/ctan/' => 1
    },
    'France' => {
      'ftp://ftp.inria.fr/pub/TeX/CTAN/' => 1,
      'http://ctan.mines-albi.fr/' => 1,
      'http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
      'http://ftp.oleane.net/pub/CTAN/' => 1,
      'http://mirror.ibcp.fr/pub/CTAN/' => 1,
      'http://mirrors.ircam.fr/pub/CTAN/' => 1
    },
    'Germany' => {
      'ftp://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/' => 1,
      'http://ctan.larsko.net/' => 1,
      'http://ftp.uni-erlangen.de/mirrors/CTAN/' => 1,
      'http://mirror.informatik.uni-mannheim.de/pub/mirrors/tex-archive/' => 1,
      'http://sunsite.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/' => 1
    },
    'Greece' => {
      'http://ftp.cc.uoc.gr/mirrors/CTAN/' => 1
    },
    'Italy' => {
      'http://ctan.mirror.garr.it/mirrors/CTAN/' => 1,
      'http://ftp.uniRoma2.it/TeX/' => 1
    },
    'Lithuania' => {
      'http://ctan.vgtu.lt/' => 1
    },
    'Netherlands' => {
      'http://ftp.snt.utwente.nl/pub/software/tex/' => 1
    },
    'Norway' => {
      'http://ctan.uib.no/' => 1,
      'http://ftp.fagskolen.gjovik.no/pub/tex-archive/' => 1
    },
    'Poland' => {
      'ftp://ftp.tpnet.pl/pub/CTAN/' => 1
    },
    'Portugal' => {
      'http://ftp.eq.uc.pt/software/TeX/' => 1
    },
    'Russia' => {
      'ftp://ftp.vsu.ru/pub/CTAN/' => 1,
      'http://ctan.uni-altai.ru/' => 1,
      'http://ctan.usu.ru/' => 1,
      'http://mirror.macomnet.net/pub/CTAN/' => 1
    },
    'Serbia and Montenegro' => {
      'http://rpm.scl.rs/CTAN/' => 1
    },
    'Slovenia' => {
      'http://ctan.ijs.si/tex-archive/' => 1
    },
    'UK' => {
      'http://anorien.csc.warwick.ac.uk/mirrors/CTAN/' => 1
    }
  },
  'North America' => {
    'Canada' => {
      'http://ctan.mirror.rafal.ca/' => 1,
      'http://mirror.csclub.uwaterloo.ca/CTAN/' => 1,
      'http://mirror.its.dal.ca/ctan/' => 1
    },
    'Costa Rica' => {
      'http://mirrors.ucr.ac.cr/CTAN/' => 1
    },
    'Mexico' => {
      'http://tezcatl.fciencias.unam.mx/tex-archive/' => 1
    },
    'USA' => {
      'http://ctan.mackichan.com/' => 1,
      'http://ctan.math.utah.edu/ctan/tex-archive/' => 1,
      'http://ctan.mirrorcatalogs.com/' => 1,
      'http://mirror.hmc.edu/ctan/' => 1,
      'http://mirror.its.uidaho.edu/pub/tex-archive/' => 1,
      'http://mirror.math.ku.edu/tex-archive/' => 1,
      'http://mirror.unl.edu/ctan/' => 1,
      'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
      'http://mirrors.med.harvard.edu/ctan/' => 1,
      'http://www.math.washington.edu/tex-archive/' => 1
    }
  },
  'South America' => {
    'Brazil' => {
      'http://ceres.cisc.usp.br/CTAN/' => 1,
      'http://ctan.tche.br/' => 1,
      'http://linorg.usp.br/CTAN/' => 1,
      'http://mirror.softwarelivre.ufsc.br/pub/ctan/' => 1
    },
    'Chile' => {
      'ftp://ftp.inf.utfsm.cl/pub/tex-archive/' => 1
    },
    'Colombia' => {
      'http://www.laqee.unal.edu.co/tex-archive/' => 1
    }
  }
};
